#ifndef ITEM_HH
#define ITEM_HH

#include <string>
/*This header file defines a Item class, representing an item in a game or simulation with various attributes. Key features include:

Constructor: Initializes the item with a name, description, value, and bonuses for healing, attack, defense, and mana.
Accessors:
Getters for the item's name, description, value, and all bonus attributes (heal, attack, defense, mana).
Private Members:
Stores the item's name, description, value, and bonus values as private data members.
This class provides a simple structure for items that can affect a character's stats in a game, with encapsulation ensuring data integrity through private members and public accessors.*/
class Item {
public:
    Item(std::string name, std::string desc, int value, int healBonus, int attackBonus, int defenseBonus,int manaBonus);
    std::string getName() const { return name; }
    std::string getDescription() const { return description; }
    int getValue() const { return value; }
    int getHealBonus() const { return healBonus; }
    int getAttackBonus() const { return attackBonus; }
    int getDefenseBonus() const { return defenseBonus; }
    int getManaBonus() const {return manaBonus;}
private:
    std::string name;
    std::string description;
    int value;
    int healBonus;
    int attackBonus;
    int defenseBonus;
    int manaBonus;
};

#endif 